<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>pyjamas</title>
<style type="text/css">
<!--
.code {
margin-left: 50px;
margin-right: 50px;
background-color: #f0f0f0;
padding: 10px;
border: 1px solid;
}
body {
padding: 20px;
margin: 20px;
h2 {
font-weight: bold;
font-family: Helvetica,Arial,sans-serif;
}

-->
</style>
</head>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-5168765-3");
pageTracker._trackPageview();
</script>
<body>
<div
 style="padding: 10px; background-color: rgb(102, 0, 153); font-family: Helvetica,Arial,sans-serif;">
<div style="float: right; height:30px;">
<script type="text/javascript" src="http://www.ohloh.net/p/4522/widgets/project_partner_badge.js"></script>
<a href="http://sourceforge.net/donate/index.php?group_id=239074"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support This Project" /> </a>
</div>
<big style="font-weight: bold; color: white;"><big><big><big>pyjamas</big></big></big></big><br>
<small><br>
</small><big>
<span style="color: white;">
Pyjamas: write your own AJAX Framework
</span></big>
</div>
<h2>Features</h2>
<ul>

  <li style="padding-bottom: 8px;" />

    Dynamic and reusable UI components: programmers can use
    pre-designed classes to implement otherwise time-consuming
    dynamic behaviors, such as drag-and-drop or sophisticated visual
    tree structures.

  <li style="padding-bottom: 8px;" />

    Supports basic python types, emulated in javascript, such as List,
    Dictionary, Tuple, string; many of the standard python builtin
    functions, such as map, filter, range; and some of the standard
    python Exceptions are supported.

  <li style="padding-bottom: 8px;" />

    Declarative style of "desktop" widget programming (almost identical to
    python-qt4, python-gtk2 and python-wxWidgets), yet the applications
    are compiled to javascript and run in all major web browsers.

  <li style="padding-bottom: 8px;" />

    Simple RPC mechanism

  <li style="padding-bottom: 8px;" />

    Browser history management, covering "Back", "Forward" with no hassle
    for the developer.  AJAX applications typically break the "Go Back"
    button: use the History module to provide your application with
    History management.

  <li style="padding-bottom: 8px;" />

    Run-time Support for runtime errors: a function call stack can be kept
    in debug mode, and displayed when a runtime error occurs.  This is
    incredibly useful in situations where installing a Javascript debugger
    is inconvenient or impossible.

  <li style="padding-bottom: 8px;" />

    Pyjamas handles all cross-browser issues for the developer.

  <li style="padding-bottom: 8px;" />

    The developers can mix handwritten JavaScript in the Python source code,
    including plumbing in to other Javascript frameworks and libraries.

  <li style="padding-bottom: 8px;" />

    Beginnings of support for using Google APIs in GWT applications
    (initially, support for Google Gears Database)

  <li style="padding-bottom: 8px;" />

    Pyjamas is entirely Free Software.

  <li style="padding-bottom: 8px;" />

    The developers can design and develop their application in
    a pure object-oriented fashion, since they're using Python
    (instead of JavaScript).

</ul>

<big><span
 style="color: rgb(102, 0, 153); font-weight: bold; font-style: italic;"></span></big>

</body>
</html>
